linux 网络安全策略
查看空密码账号
awk -F: '($2 == ""){print $1}' /etc/shadow
修改配置密码周期策略
vim /etc/login.defs
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999 # 密码最大过期
PASS_MIN_DAYS 0 # 最小
PASS_MIN_LEN 8 # 密码长度
PASS_WARN_AGE 7 # 使用天数警告
此策略只对策略实施后所创建的帐号生效, 以前的帐号还是按99999天周期时间来算。
密码复杂度限制
vim /etc/pam.d/system-auth 配置密码复杂度
# 添加密码的要求
password requisite pam_cracklib.so retry=3 difok=2 minlen=8 lcredit=-1 dcredit=-1
retry
- 重试多少次后返回密码修改错误difok
- 本次密码与上次密码至少不同字符数minlen
- 密码最小长度,此配置优先于login.defs
中的PASS_MAX_DAYS
lcredit
- 最少小写字母dcredit
- 最少数字
【注】用root修改其他帐号都不受密码周期及复杂度配置的影响。
登陆失败策略
配置登陆策略,比如用户登陆错误多少次,锁定账号,多久后解锁
# 查看用户登陆失败次数
pam_tally2 --user root
# 解锁某个被冻结的用户
pam_tally2 -r -u root
#控制台限制:
vim /etc/pam.d/login
# ssh限制
vim /etc/pam.d/sshd (需要添加在头部位置)
# 添加登陆失败策略
auth required pam_tally2.so deny=5 lock_time=10 even_deny_root unlock_time=30
pam_tally2.so
- PAM模块,限定用户的登录失败次数,如果次数达到设置的阈值,则锁定用户。deny
- 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户lock_time
- 设定普通用户锁定后,多少时间后解锁,单位是秒;even_deny_root
- 也限制root用户(默认配置就锁定root帐号);unlock_time
- 设定普通用户锁定后,多少时间后解锁,单位是秒;root_unlock_time
- 设定root用户锁定后,多少时间后解锁,单位是秒;
审计策略
开启审计后,若系统出现格式转换,安全事故都会记录到系统日志
rsyslog
和 auditd
服务
systemctl start auditd
systemctl start auditd
超时锁定
设置登陆超时,自动释放系统资源,提高安全性
vim /etc/profile - 查看对应的 export TMOUT=xxxx 超时时间,如果没有,则自己设置